Today, various computer technologies are used within enterprises and companies alike. In this disclosure, “enterprise” generally refers to an entity such as a company, an organization, or a government agency, rather than individual end users. These technologies produce massive amounts of content, including scanned documents, faxes, emails, search results, office documents, social media content, etc. Enterprise applications, also known as enterprise application software (EAS), refer to a class of computer software used to satisfy such technological needs of an enterprise. To this end, enterprise applications are considered highly complex software systems. They are data-centric, user-friendly, and must meet stringent requirements for security, administration, and maintenance. Examples of enterprise applications may include enterprise resource planning software; groupware systems; e-commerce software such as back-office systems; or standalone applications.
Scalable, distributed, component-based, and often mission-critical, enterprise applications may be deployed on a variety of platforms across enterprise networks, intranets, or the Internet. As enterprises have similar departments and systems in common, enterprise applications are often available as a suite of customizable programs. Generally, the complexity of enterprise applications requires specialist capabilities and specific knowledge to develop and deploy them.
For example, developing an enterprise application for a mobile operating system developed by Apple Inc. (referred to herein as “iOS”) requires knowledge of Apple's development tools, coding environment, and their guidelines. Furthermore, some programming languages (e.g., Swift) for Apple-based platforms (e.g., iOS, OS X, watchOS, and tvOS) are made specifically for iOS and Macs and are required to run on computers with iOS 7 or macOS 10.9 or higher.
An enterprise application thus developed by an application developer for an enterprise to run on a mobile device (e.g., a smart phone that runs on a mobile operating system such as iOS or Android, which is another popular mobile operating system developed by Google) may be submitted by the application developer to a third-party digital distribution platform such as the App Store developed and maintained by Apple Inc. for review, approval, and publication. For applications that are developed with Apple's iOS software development kit (SDK), this review process currently takes an average of two days, from submission to publication (i.e., made available by Apple in the App Store). The App Store allows end users to browse and download applications. From the perspective of an enterprise, the App Store is a third-party application that can act as a generic portal (i.e., access to the App Store is generally open to the public and not specific to the enterprise) through which end users of the enterprise can access, download, and install enterprise-approved enterprise applications. Other third-party digital distribution platforms on the Internet operate in a similar way.
Thus, traditionally, enterprise application development and deployment involve third-party digital distribution platforms on the Internet. However, an enterprise generally has no control over the review process of such a third-party digital distribution platform.